The present invention relates generally to a field of image compression and decompression, and more particularly to a technique for rapidly compressing and decompressing image data in an optimal manner and placing code within the compressed data to facilitate decompression.
Various techniques have been proposed and are currently in use for analyzing and compressing large data files, such as image data files. Image data files typically include streams of data descriptive of image characteristics, typically of intensities or other characteristics of individual pixel elements or pixels in a reconstructed image. In the medical field, for example, large image files are typically created during an image acquisition or encoding sequence, such as in an x-ray system, a magnetic resonance imaging system, a computed tomography imaging system, and so forth. The image data is then processed, such as to adjust dynamic ranges, enhance certain features shown in the image, and so forth, for storage, transmittal and display.
While image files may be stored in raw and processed formats, many image files are quite large, and would occupy considerable memory space. The increasing complexity of imaging systems also has led to the creation of very large image files, typically including more data as a result of the useful dynamic range of the imaging system and the size of the matrix of image pixels.
In addition to occupying large segments of available memory, large image files can be difficult or time consuming to transmit from one location to another. In a typical medical imaging application, for example, a scanner or other imaging device will typically create raw data which may be at least partially processed at the scanner. The data is then transmitted to other image processing circuitry, typically including a programmed computer, where the image data is further processed and enhanced. Ultimately, the image data is stored either locally at the system, or in a picture archiving and communications system (PACS) for later retrieval and analysis. In all of these data transmission steps, the large image data file must be accessed and transmitted from one device to another.
Many standards for conventional image data compression, specifically lossy standards, permit some selection of compression parameters used in generating compressed data sets. Once the parameters are set, however, such compression and decompression techniques generally apply a compression algorithm uniformly to image data to generate a compressed data set. While the parameters may apply well to certain portions of the image data, however, they may not provide optimal compression of other portions, resulting in an overall compression ratio which is less than optimal.
There is a need at present for improved techniques for compressing and decompressing image data which provide higher overall compression ratios and which can accommodate image data having differing regions requiring different treatment in the compression and decompression process. There is a particular need for such techniques which can be applied to medical diagnostic and similar applications in which large image data sets are generated, transmitted and stored on a routine basis.
The present invention provides an image data compression and decompression technique desired to respond to these needs. The invention may find application in a wide variety of imaging fields, and is particularly well suited to medical diagnostic imaging. In accordance with the technique, an image data stream is analyzed and compressed in accordance with at least one of a plurality of compression algorithms to provide a desired level of compression, typically optimal compression available from the candidate compression algorithms. Code indicative of the selected compression algorithm or algorithms is embedded in the compressed data stream, and is identified during decompression for application of the same algorithm or algorithms in the decompression process.
In a presently preferred embodiment, the original image data stream is broken into subregions, and each subregion is analyzed to determine which of the candidate compression algorithms provides the best compression. The compression algorithms are then selected for each subregion. Key code identifying the selected compression algorithms is inserted in the compressed data file to facilitate decompression in accordance with the selected algorithms. The code may be situated immediately adjacent to the compressed subregion data within the compressed data stream. A compression header may be provided which cross references the key code to the selected compression algorithms.